package com.hcy.ordermodel.dto.response;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

/**
 * @Author huchenying
 * @Description 返回给前端的订单消息
 * @Date 2021/12/27 14:11
 */
@Data
public class OrderInfoResponseDTO implements Serializable {
    private static final long serialVersionUID = 1L;

    /**
     * 订单号
     */
    private String orderNumber;

    /**
     * 乘客id
     */
    private Integer passengerInfoId;

    /**
     * 乘客电话
     */
    private String passengerPhone;

    /**
     * 用户位置经度
     */
    private String userLongitude;

    /**
     * 用户位置纬度
     */
    private String userLatitude;

    /**
     * 乘客下单起点经度
     */
    private String startLongitude;

    /**
     * 乘客下单起点纬度
     */
    private String startLatitude;

    /**
     * 起点名称
     */
    private String startAddress;

    /**
     * 终点地址名称
     */
    private String endAddress;

    /**
     * 乘客下单终点经度
     */
    private String endLongitude;

    /**
     * 乘客下单终点纬度
     */
    private String endLatitude;

    /**
     * 订单状态 0: 订单预估 1：订单开始 2：司机接单 3：去接乘客 4：司机到达乘客起点 5：乘客上车，司机开始行程 6：到达目的地，行程结束，未支付 7：发起收款 8: 支付完成 9.乘客取消订单
     */
    private Integer status;

    /**
     * 叫车订单类型，	1：实时订单，	2：预约订单，	3：接机单，	4：送机单，	5：日租，	6：半日租
     */
    private Integer serviceType;

    /**
     * 叫车订单类型，	1：实时订单，	2：预约订单，	3：接机单，	4：送机单，	5：日租，	6：半日租
     */
    private String serviceTypeString;

    /**
     * 里程
     */
    private Double totalDistance;

    /**
     * 总时间（分钟）
     */
    private Double totalTime;

    /**
     * 总价
     */
    private Double totalPrice;

    /**
     * 距离乘客位置
     */
    private Double distance;

    /**
     * 乘客下单时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm", timezone = "GMT+8")
    private Date startTime;

    /**
     * 乘客下单时间
     */
    private String startTimeString;

    /**
     * 订单开始时间
     */
    private Date orderStartTime;

}
